SAP HANA XS(A) Overview

(C) Brandeis Consulting

Two Application servers in SAP HANA

SAP HANA Extended Application Services

Short: XS or XS Classic or XSC

SAP HANA Extende Application Services Advanced Model

Short: XSA

(C) Brandeis Consulting

XSC Overview

(C) Brandeis Consulting

XSA Overview

(C) Brandeis Consulting

Terms

  • Build - Create runtime objects from the
  • Continous Integration (CI)
  • Space -
  • Repository
  • Git
  • Deploy
  • Container
(C) Brandeis Consulting

Spaces

Isolated HANA runtime with containers and runtime objects.

Typical setup:

  • Development Space
  • Test Space
  • Production Space

SAP Documentation Organizations & Spacces

(C) Brandeis Consulting

Organization

Can cover multiple spaces

(C) Brandeis Consulting

Workspace

  • Folder Structure, like in the file system
  • Structured in Projects
  • Each developer has its own Workspace
  • Multiple projects
  • Source Code is
    • stored in a GIT system, e.g. GitHub
    • exchanged between the developer via Git
(C) Brandeis Consulting

Project Structure in the Workspaces

Creation of a project

  • Clone existing project from Git or
  • Create new project with a template:
    • Multi-Target Application Project - XSA Structure
    • SAP Cloud Platform Business Application - CAP Structure
    • SAP HANA Database Application - DB Modules only
(C) Brandeis Consulting

Development Tools

  • SAP WebIDE - For SAP HANA on Premise & XSA development
  • SAP HANA Database Explorer - Web-Based Database Tool to show the Database Catalogue and use the SQL-Console
  • SAP HANA Studio - Deprecated for pure HANA
    development. Compatible only for XSC (HANA 1.0). But the current tool for BW and ABAP development!
  • Web-Based Development Workbench - Outdated tool for XSC development on HANA 1.0
  • EA-Designer - Outdated, because end of maintenance reached.
(C) Brandeis Consulting

Concept GIT vs. ABAP Repository

ABAP repository

  • Max. two Versions of Code
    • 1 Active Version
    • 1 Modified Version, only up to the next activation
  • One Version of the Runtime Objects

Git Repository

  • One central Version of the code, plus optional branches
  • Version management of the source files
  • Enables collaborative development between multiple
  • Each developer has its own
    • copy of the code, that could be partially modified.
    • runtime with a separate HDI Container for tests
(C) Brandeis Consulting

Datenbankschema

Ein Datenbankschema ist

  1. ein Namensraum. Der Schemaname ist Bestandteil des Namens eines Datenbankobjektes. Er kann nur innerhalb des gleichen Schemas weggelassen werden.
  2. eine Berechtigungsebene. Ein Benutzer bzw. Rolle kann für die Objekte eines Schemas zum Lesen/Schreiben/Anlegen etc. berechtigt werden.
(C) Brandeis Consulting

Wichtige DB-Schema

Ein paar typische Schema sollte man kennen:

  • PUBLIC - Hier werden Objekte veröffentlicht, auf die (fast) jeder zugreifen können soll. Falls kein Schemaname bei eine SQL-Anweisung angegeben wird, und falls ein Objekt nicht im aktuellen Schema ist, dann wird geprüft ob es in PUBLIC existiert.
  • _SYS_BIC - Nur für XSC relevant. In diesem einen Schema werden die Datenbankobjeke für Calculation Views generiert.
  • Persönliches Schema - Ein Schema das den Namen eines Datenbankbenutzer hat. Dieser ist Eigentümer des Schemas und darf dort alles machen.
  • SAPHANADB - Auf ABAP-Systemen der Standardname für das Schema des SAP ABAP Systems. Alternativ: SAP<SYSID>
(C) Brandeis Consulting

HANA Deployment Infrastructure (HDI)

Mit HDI sollen Probleme gelöst werden, die durch feste Schemanamen in der Modellierung und im Code enstehen. In erster Linie geht es darum, das die gleiche Anwendung mehrfach in einer Datenbank laufen soll.

Statt in festen Schemas laufen die Anwendungen in HDI Containern.

Hier sind nicht die Datenbankcontainer gemeint.

Ein HDI Container wird in ein Datenbankschema mit technischem Namen generiert. Mehrere Entwickler können gleichzeitig in der gleichen Datenbank eine eigene Version der gleichen Anwendung haben.

Der Zugriff auf andere Schema erfolgt mittels Synonyms.

(C) Brandeis Consulting

Administrative Tools

(C) Brandeis Consulting

Design Time Development Artefacts for Tables

CDS Objects - Tables and Views

.hdbdd - Since HANA 1.0 SPS06

  • Types, Tables, Views
  • Only XSC, outdated.

.hdbcds - Since HANA 1.0 SPS11

  • HDI enabled

.cds - Since HANA 2.0 SPS03

  • With Service Definition
  • Generates .hdbcds or .hdbtable/.hdbview files
  • Database agnostic

Database Tables

.hdbtable - JSON like

.hdbtable - SQL like

.hdbmigrationtable

  • With Table Versions and Migration steps between them
(C) Brandeis Consulting